package egovframework.npqs.pqi.mobile.service.web;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import egovframework.npqs.pqi.mobile.common.JSONResponseUtil;
import egovframework.npqs.pqi.mobile.service.MobileService;
import egovframework.rte.psl.dataaccess.util.EgovMap;

@Controller("mobileController")
public class MobileController {

	@Resource(name="mobileService") 
	private MobileService mobileService;
	
	protected String iudFlag;
	protected String success;
	protected String sRtnPage;
	protected String fRtnPage;
	protected String errorMessage;
	protected String paramTarget;
	protected String rowPerPage;
	
	/**
	 * @Method Name  : setRtnStart
	 * @작성일   : 2014.08.08
	 * @작성자   : ktm
	 * @변경이력  : 2014.08.08
	 * @Method 설명 : 리턴 페이지 설정
	 * @param iudFlag alert 문구 ex) 삭제 , 저장 , 수정
	 * @param success 실행결과 Y , N
	 * @param sRtnPage 성공 후 이동할 매핑주소
	 * @param fRtnPage 실패 후 이동할 매핑주소
	 */
	protected void setRtnInit(String iudFlag, String success , String sRtnPage , String fRtnPage ){
		this.iudFlag = iudFlag;
		this.success = success;
		this.sRtnPage = sRtnPage;
		this.fRtnPage = fRtnPage;
		this.errorMessage = "";
	}
	
	protected void setSuccess(String success){
		this.success = success;
	}
	
	protected void setSuccess(String success , Exception e){
		this.setSuccess(success);
		String error = e.getMessage();
		//error = error.substring(error.indexOf("ORA-"), error.length()); 
		//error = error.substring(0, error.indexOf(";"));
		this.errorMessage = error.replaceAll("\n", "");
	}
	
	@RequestMapping("/index.do")
	public ResponseEntity queryListResult(ModelMap model
				, @RequestParam Map param,HttpServletRequest request,HttpServletResponse response ){
		

		Enumeration eNames = request.getParameterNames();

		if (eNames.hasMoreElements()) {

			 String title = "Parameters";

			 Map entries = new TreeMap();

			 while (eNames.hasMoreElements()) {

				 String name = (String) eNames.nextElement();

				 String[] values = request.getParameterValues(name);

				 if (values.length > 0) {

					 String value = values[0];

					 for (int i = 1; i < values.length; i++) {

						 value += "," + values[i];

					 }
					 
					/* System.out.println("#####################service start##########################==>");
					 System.out.println(name+" : "+value);
					 System.out.println("#####################service end##########################==>");
*/
				 }

			 }

		}
		
		Map paramMap = request.getParameterMap();
		Map<String,Object> map = new HashMap<String,Object>();
		
		paramTarget =""; /*분기 파라미터 REQ014*/
		rowPerPage ="50"; /*페이지 기본 row 갯수*/
		//paramTarget = request.getParameter("paramTarget") == null ? "" : request.getParameter("paramTarget");
		
		
		paramTarget = request.getParameter("paramTarget");
		
		
	/*	System.out.println("================================paramTarget start===========================");		
		System.out.println("paramTarget :"+paramTarget);
		System.out.println("================================paramTarget end===========================");

		*/
		
		String targetPage = "";
		String planSn1 = "";
		String recNo1 ="";
		
		targetPage = request.getParameter("targetPage") == null ? "1":request.getParameter("targetPage");
		planSn1 = request.getParameter("planSn") ==null ? "" : request.getParameter("planSn"); /*일일투약계획서번호123333*/
		recNo1 = request.getParameter("recNo") ==null ? "" : request.getParameter("recNo"); /*검역신청번호 20-14000025*/
		
		
		Iterator<?> it =  paramMap.keySet().iterator();
		
		Map<String,String> requestMap = new HashMap<String,String>();
		
		String result="";
		
		try{
						
			while( it.hasNext()){
				
				
				
				String key = (String) it.next();
				
			/*	System.out.println("================================key 1 start===========================");		
				System.out.println("key :"+key );
				System.out.println("================================key 1 end===========================");
				*/
				String[] value = (String[]) paramMap.get(key);
				
				for( String v : value){
					
					System.out.println("================================key 2 start===========================");		
					System.out.println("key :"+key +"value :"+value);
					System.out.println("================================key 2 end===========================");
					
					requestMap.put(key, v);
				}
				
			}
	
		/* 
		 * 검역관정보 컨테이너에 담아두기
		 * */
		if("REQ001".equals(paramTarget))
		{
			
			result="RES001";
			
			//try{
				List<Map<String, String>> list = mobileService.loginSessionContainer(requestMap);
				map.put("result", list.size());
				if(list.size() == 0){
					result = "사용자의 정보가 존재하지 않습니다.";
					map.put("data", result);
				}else{
					map.put("data", list);
				}
			
			/*}catch(Exception e){
				e.printStackTrace();
				map.put("data", "시스템 오류입니다.");
				map.put("result", 0);
			}finally {
				
			}*/
			
		/* 
		 * 검역신청목록 요청
		 * */
		}else if("REQ002".equals(paramTarget)){
			
			
			requestMap.put("targetPage",targetPage);  /*페이지 target*/
			requestMap.put("rowPerPage", rowPerPage); /*row 수*/
			
			//try{
				List<Map<String, String>> list = mobileService.selectReq002Query(requestMap);
				
				result="RES002"; /*검역신청목록 수신*/
				
				map.put("result", list.size());
				
				long totalRows = 0;
				
				if(list.size() == 0){
					result = "데이터가 존재하지 않습니다.";
					map.put("data", result);
				}else{
					
					map.put("data", list);
					
					if(list != null && list.size() > 0 && ((EgovMap)list.get(0)).get("totalRows") != null) {
						totalRows = Long.parseLong(((EgovMap)list.get(0)).get("totalRows").toString());
					}
					
				}
			/*}catch(Exception e){
				e.printStackTrace();
				map.put("data", "시스템 오류입니다.");
				map.put("result", 0);
			}finally {
				
			}*/
		
			
		}else if("REQ039".equals(paramTarget)){
			
			Map<String,String> sancrtMap = new HashMap<String,String>();
		
			String searchFullRecNo[] = requestMap.get("fullResNo").split(",");
			
			String searchResOffCd = ""; /*결과검역지코드*/
			String searchResNo = ""; /*결과번호*/
			
			if(null != searchFullRecNo){
				
				for(int i=0; i<searchFullRecNo.length; i++){
					
					String searchArr[] = searchFullRecNo[i].split("-");
					
					if(null != searchArr){
						for(int j= 0; j<searchArr.length; j++){
							
							searchResOffCd = searchArr[0].toString();
							searchResNo = searchArr[1].toString();
						}
					}
					
					break;
				}
				
			}
			
			result="RES039"; /*검역결과결재요청 수신*/
			
			
			sancrtMap.put("searchResOffCd", searchResOffCd);
			sancrtMap.put("searchResNo", searchResNo);
			
			if(searchResNo==null || "".equals(searchResNo)){
				
				result = "데이터가 존재하지 않습니다.";
				map.put("result", 0);
				map.put("data", result);
				
			}		
			
			
			
				//try{

					setDrafCode(map);
					
					List<Map<String, String>> list = mobileService.selectReq012Query(sancrtMap);
					
					List<Map<String, String>> sanctnList = mobileService.selectSanctnList(sancrtMap);
					
					
					if(list.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data", result);
						map.put("result", 0);
					}else{
						map.put("data", list);
						map.put("result", list.size());
					}
					
					if(sanctnList.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("sanctnList", result);
						map.put("sanctnList", 0);
					}else{
						map.put("sanctnList", sanctnList);
						map.put("sanctnListResult", sanctnList.size());
					}
					
				/*}catch(Exception e){
					e.printStackTrace();
					map.put("data", "시스템 오류입니다.");
					map.put("result", 0);
				}finally {
					
				}
			*/
		/*
		 * 검역신청검색 요청 
		 * */
		}else if("REQ003".equals(paramTarget)){
			
			requestMap.put("targetPage",targetPage);  /*페이지 target*/
			requestMap.put("rowPerPage", rowPerPage); /*row 수*/
			
			//try{
				List<Map<String, String>> list = mobileService.selectReq002Query(requestMap);
				
				result="RES003"; /*검역신청목록 수신*/
				
				map.put("result", list.size());
				
				if(list.size() == 0){
					result = "데이터가 존재하지 않습니다.";
					map.put("data", result);
				}else{
					map.put("data", list);
				}
			/*}catch(Exception e){
				e.printStackTrace();
				map.put("data", "시스템 오류입니다.");
				map.put("result", 0);
			}finally {
				
			}
			*/
		/*
		 * 검역신청상세정보 요청 
		 * */
		}else if("REQ004".equals(paramTarget)){
			
			String searchOffCd = requestMap.get("searchOffCd");
			String searchRecNo = requestMap.get("searchRecNo");
			
			result="RES004"; /*검역신청정보 수신*/
			
			if(searchOffCd==null || "".equals(searchOffCd)){
				
				result = "데이터가 존재하지 않습니다.";
				map.put("result", 0);
				map.put("data", result);
				
			}else if(searchRecNo==null || "".equals(searchRecNo)){
				
				result = "데이터가 존재하지 않습니다.";
				map.put("result", 0);
				map.put("data", result);
				
			}else{			
			
			//	try{

					
					List<Map<String, String>> list = mobileService.selectReq004Query(requestMap);
					List<Map<String, String>> Detaillist = mobileService.selectReq004DetailQuery(requestMap);
					
					setCode(map);
					

					if(list.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data", result);
						map.put("result", 0);
					}else{
						map.put("data", list);
						map.put("result", list.size());
					}
					
					/*품목정보 가져오기*/
					if(Detaillist !=null ){
						map.put("items", Detaillist);
						map.put("itemsResult", Detaillist.size());
						
					}else{
						map.put("items", result);
						map.put("itemsResult",0);
					}
				/*}catch(Exception e){
					e.printStackTrace();
					map.put("data", "시스템 오류입니다.");
					map.put("result", 0);
				}finally {
					
				}*/
			}
			
			
		/*
		 * 수출검역결과상세 요청 
		 * */
		}else if("REQ048".equals(paramTarget)){
			
			String resOffCd = "";
			String resNo ="";
			String resSeq = "";
			
			
			resOffCd = requestMap.get("resOffCd");
			resNo = requestMap.get("resNo");
			resSeq = requestMap.get("resSeq");
			
			result="RES004"; /*검역신청정보 수신*/
			
			if(resOffCd==null || "".equals(resOffCd)){
				
				result = "데이터가 존재하지 않습니다.";
				map.put("result", 0);
				map.put("data", result);
				
			}else if(resNo==null || "".equals(resNo)){
				
				result = "데이터가 존재하지 않습니다.";
				map.put("result", 0);
				map.put("data", result);
				
			}else{			
			
				//try{

					
					List<Map<String, String>> list = mobileService.selectReq048Query(requestMap);
					List<Map<String, String>> Detaillist = mobileService.selectReq0048DetailQuery(requestMap);
					
					//setCode(map);
					

					if(list.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data", result);
						map.put("result", 0);
					}else{
						map.put("data", list);
						map.put("result", list.size());
					}
					
					/*품목정보 가져오기*/
					if(Detaillist !=null ){
						map.put("items", Detaillist);
						map.put("itemsResult", Detaillist.size());
						
					}else{
						map.put("items", result);
						map.put("itemsResult",0);
					}
				/*}catch(Exception e){
					e.printStackTrace();
					map.put("data", "시스템 오류입니다.");
					map.put("result", 0);
				}finally {
					
				}*/
			}
			
			
		/*
		 * 수출단지 선과장 저장 요청
		 * */
		}else if("REQ049".equals(paramTarget)){
			
			String resultSuccss = "선과장이 등록되었습니다."; /*성공*/
			String resultFail = "선과장등록에 실패하였습니다."; /*성공*/
	
			//try {
				
				 mobileService.insertReq049Query(request);
				 map.put("data", resultSuccss);
				 map.put("result", 1);
			/*} catch (Exception e) {
				e.printStackTrace();
				map.put("data", resultFail);
				map.put("result", 0);
			
			}finally {
				
			} */
			
	
		/*
		 * 수출단지 선과장 삭제 요청
		 * */
		}else if("REQ050".equals(paramTarget)){
			
			String resultSuccss = "선과장등록이 삭제되었습니다."; /*성공*/
			String resultFail = "선과장삭제에 실패하였습니다."; /*성공*/
	
			//try {
				
				 mobileService.deleteReq050Query(request);
				 map.put("data", resultSuccss);
				 map.put("result", 1);
			/*} catch (Exception e) {
				e.printStackTrace();
				map.put("data", resultFail);
				map.put("result", 0);
			
			}finally {
				
			} */
		
			
				
		/*
		 * 검역신청수정 요청
		 * */
		}else if("REQ005".equals(paramTarget)){
			
			String resultSuccss = "검역신청이 수정되었습니다."; /*성공*/
			String resultFail = "수정에 실패하였습니다."; /*성공*/
	
			//try {
				
				 mobileService.insertReq005Query(request);
				 map.put("data", resultSuccss);
				 map.put("result", 1);
			/*} catch (Exception e) {
				e.printStackTrace();
				map.put("data", resultFail);
				map.put("result", 0);
			
			}finally {
				
			} */
		
		/*
		 * 검역결과저장 요청 
		 * 
		 * */
		}else if("REQ009".equals(paramTarget)){
			
			
			String resultSuccss = "검역결과등록이 정상처리되었습니다."; /*성공*/
			String resultFail = "검역결과저장 시 실패하였습니다."; /*실패*/
			
			//try{
				 mobileService.insertReq009Query(request);
				 map.put("data", resultSuccss);
				 map.put("result", 1);
			/*}catch(Exception e){
				e.printStackTrace();
				map.put("data", resultFail);
				map.put("result", 0);
			}finally {
				
			}
	*/
		/*
		 * 검역결과저장(수출) 요청 
		 * 
		 * */
		}else if("REQ047".equals(paramTarget)){
			
			
			String resultSuccss = "검역결과등록이 정상처리되었습니다."; /*성공*/
			String resultFail = "검역결과저장 시 실패하였습니다."; /*실패*/
			
		//	try{
				 mobileService.insertReq047Query(request);
				 map.put("data", resultSuccss);
				 map.put("result", 1);
			/*}catch(Exception e){
				e.printStackTrace();
				map.put("data", resultFail);
				map.put("result", 0);
			}finally {
				
			}*/
		/*
		 * 소독결과저장 요청 
		 * 
		 * */
		}else if("REQ015".equals(paramTarget)){
			
			
			String resultSuccss = "소독결과등록이 정상처리되었습니다."; /*성공*/
			String resultFail = "저장 시 실패하였습니다."; /*성공*/
			
			String dsnfResNo = "";
			
			//try{
				
				dsnfResNo =  mobileService.insertReq015Query(request);
				 map.put("data", resultSuccss);
				 map.put("dsnfResNo", dsnfResNo);
				 map.put("result", 1);
			/*}catch(Exception e){
				e.printStackTrace();
				map.put("data", resultFail);
				map.put("result", 0);
			}finally {
				
			}*/
			
		/*
		 * 결재저장 요청 
		 * 
		 * */
		}else if("REQ035".equals(paramTarget)){
			
			
			String resultSuccss = "결재가 정상처리되었습니다."; /*성공*/
			String resultFail = "저장 시 실패하였습니다."; /*성공*/
			
			//try{
				 mobileService.insertReq035Query(request);
				 map.put("data", resultSuccss);
				 map.put("result", 1);
			/*}catch(Exception e){
				e.printStackTrace();
				map.put("data", resultFail);
				map.put("result", 0);
			}finally {
				
			}*/
			
			
		/*
		 * 일괄결과등록저장 요청 
		 * 
		 * */
		}else if("REQ037".equals(paramTarget)){
			
			
			String resultSuccss = "검역결과등록이 정상처리되었습니다."; /*성공*/
			String resultFail = "검역결과저장 시 실패하였습니다."; /*실패*/
			
			//try{
				 mobileService.insertReq037Query(request);
				 map.put("data", resultSuccss);
				 map.put("result", 1);
			/*}catch(Exception e){
				e.printStackTrace();
				map.put("data", resultFail);
				map.put("result", 0);
			}finally {
				
			}*/
		
		
		/*
		 * 일괄결재등록저장 요청 
		 * 
		 * */
		}else if("REQ038".equals(paramTarget)){
			
			
			String resultSuccss = "전결처리 되었습니다."; /*성공*/
			String resultFail = "전결처리가  실패하였습니다."; /*실패*/
			
			//try{
				 mobileService.insertReq038Query(request);
				 map.put("data", resultSuccss);
				 map.put("result", 1);
			/*}catch(Exception e){
				e.printStackTrace();
				map.put("data", resultFail);
				map.put("result", 0);
			}finally {
				
			}*/
			
		/*
		 * 검역결과대기 조회 요청 
		 * */
		}else if("REQ006".equals(paramTarget)){
			

			requestMap.put("targetPage",targetPage);  /*페이지 target*/
			requestMap.put("rowPerPage", rowPerPage); /*row 수*/
			
			//try{
				List<Map<String, String>> list = mobileService.selectReq006Query(requestMap);
				
				result="RES006"; /*검역신청목록 수신*/
				
				System.out.println("list::: :"+ list.size());
				
				map.put("result", list.size());
				
				long totalRows = 0;
				
				if(list.size() == 0){
					result = "데이터가 존재하지 않습니다.";
					map.put("data", result);
				}else{
					
					map.put("data", list);
					
					if(list != null && list.size() > 0 && ((EgovMap)list.get(0)).get("totalRows") != null) {
						totalRows = Long.parseLong(((EgovMap)list.get(0)).get("totalRows").toString());
					}
					
				}
			/*}catch(Exception e){
				e.printStackTrace();
				map.put("data", "시스템 오류입니다.");
				map.put("result", 0);
			}finally {
				
			}*/
			/*
			 * 검역결과검색요청 
			 * 
			 * */
			}else if("REQ008".equals(paramTarget)){
				

				requestMap.put("targetPage",targetPage);  /*페이지 target*/
				requestMap.put("rowPerPage", rowPerPage); /*row 수*/
				
				//try{
					List<Map<String, String>> list = mobileService.selectReq006Query(requestMap);
					
					result="RES008"; /*검역결과검색요청 수신*/
					
					map.put("result", list.size());
					
					long totalRows = 0;
					
					if(list.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data", result);
					}else{
						
						map.put("data", list);
						
						if(list != null && list.size() > 0 && ((EgovMap)list.get(0)).get("totalRows") != null) {
							totalRows = Long.parseLong(((EgovMap)list.get(0)).get("totalRows").toString());
						}
						
					}
				/*}catch(Exception e){
					e.printStackTrace();
					map.put("data", "시스템 오류입니다.");
					map.put("result", 0);
				}finally {
					
				}*/
			
			/* 
			 * 검역결과상세정보 요청
			 * */
			}else if("REQ010".equals(paramTarget)){
				
				String searchOffCd = requestMap.get("searchOffCd"); /*검역신청지코드*/
				String searchRecNo = requestMap.get("searchRecNo"); /*검역신청번호*/
				
				result="RES010"; /*검역신청정보 수신*/
				
				if(searchOffCd==null || "".equals(searchOffCd)){
					
					result = "데이터가 존재하지 않습니다.";
					map.put("result", 0);
					map.put("data", result);
					
				}else if(searchRecNo==null || "".equals(searchRecNo)){
					
					result = "데이터가 존재하지 않습니다.";
					map.put("result", 0);
					map.put("data", result);
					
				}else{			
				
					//try{

						
						List<Map<String, String>> list = mobileService.selectReq010Query(requestMap);
						List<Map<String, String>> DetailList = mobileService.selectReq010DetailQuery(requestMap);
						
						setResultCode(map);
						

						if(list.size() == 0){
							result = "데이터가 존재하지 않습니다.";
							map.put("data", result);
							map.put("result", 0);
						}else{
							map.put("data", list);
							map.put("result", list.size());
						}
						
						/*품목정보 가져오기*/
						if(DetailList !=null ){
							map.put("items", DetailList);
							map.put("itemsResult", DetailList.size());
							
						}else{
							map.put("items", result);
							map.put("itemsResult",0);
						}
					/*}catch(Exception e){
						e.printStackTrace();
						map.put("data", "시스템 오류입니다.");
						map.put("result", 0);
					}finally {
						
					}*/
				}
				
				
			/*
			 * 현장검역관 추가 요청
			 *  
			 * */
			}else if("REQ011".equals(paramTarget)){
				
				//try{
					List<Map<String, String>> list = mobileService.selectReq011Query(requestMap);
					
					result="RES011"; /*현장검역관 추가요청 수신*/
					
					map.put("result", list.size());
					
					if(list.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data", result);
					}else{
						map.put("data", list);
					}
				/*}catch(Exception e){
					e.printStackTrace();
					map.put("data", "시스템 오류입니다.");
					map.put("result", 0);
				}finally {
					
				}*/
				
				
			}else if("REQ012".equals(paramTarget)){
				
				String searchInsttCd = requestMap.get("searchInsttCd");
				//String searchRecNo = requestMap.get("searchRecNo");
				
				result="RES012"; /*검역결과결재요청 수신*/
				
				if(searchInsttCd==null || "".equals(searchInsttCd)){
					
					result = "데이터가 존재하지 않습니다.";
					map.put("result", 0);
					map.put("data", result);
					
				}		
				
					//try{

						setDrafCode(map);
						
						List<Map<String, String>> list = mobileService.selectReq012Query(requestMap);
						List<Map<String, String>> sanctnList = mobileService.selectSanctnList(requestMap);
						
						if(list.size() == 0){
							result = "데이터가 존재하지 않습니다.";
							map.put("data", result);
							map.put("result", 0);
						}else{
							map.put("data", list);
							map.put("result", list.size());
						}
						
						if(sanctnList.size() == 0){
							result = "데이터가 존재하지 않습니다.";
							map.put("sanctnList", result);
							map.put("sanctnListResult", 0);
						}else{
							map.put("sanctnList", sanctnList);
							map.put("sanctnListResult", sanctnList.size());
						}
						
					/*}catch(Exception e){
						e.printStackTrace();
						map.put("data", "시스템 오류입니다.");
						map.put("result", 0);
					}finally {
						
					}*/
					
			
				
			/*
			 * 검역결과현황 요청 
			 * */
			}else if("REQ013".equals(paramTarget)){
				
				requestMap.put("targetPage",targetPage);  /*페이지 target*/
				requestMap.put("rowPerPage", rowPerPage); /*row 수*/
				

				//try{
					List<Map<String, String>> list = mobileService.selectReq013Query(requestMap);
					
					result="RES013"; /*검역결과현황 수신*/
					
					map.put("result", list.size());
					
					long totalRows = 0;
					
					if(list.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data", result);
					}else{
						
						map.put("data", list);
						
						if(list != null && list.size() > 0 && ((EgovMap)list.get(0)).get("totalRows") != null) {
							totalRows = Long.parseLong(((EgovMap)list.get(0)).get("totalRows").toString());
						}
						
					}
				/*}catch(Exception e){
					e.printStackTrace();
					map.put("data", "시스템 오류입니다.");
					map.put("result", 0);
				}finally {
					
				}*/
		
			/*
			 * 검역결과현황 요청(수출) 
			 * */
			}else if("REQ045".equals(paramTarget)){
				
				requestMap.put("targetPage",targetPage);  /*페이지 target*/
				requestMap.put("rowPerPage", rowPerPage); /*row 수*/
				

				//try{
					List<Map<String, String>> list = mobileService.selectReq045Query(requestMap);
					
					result="RES045"; /*검역결과현황 수신*/
					
					map.put("result", list.size());
					
					long totalRows = 0;
					
					if(list.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data", result);
					}else{
						
						map.put("data", list);
						
						if(list != null && list.size() > 0 && ((EgovMap)list.get(0)).get("totalRows") != null) {
							totalRows = Long.parseLong(((EgovMap)list.get(0)).get("totalRows").toString());
						}
						
					}
				/*}catch(Exception e){
					e.printStackTrace();
					map.put("data", "시스템 오류입니다.");
					map.put("result", 0);
				}finally {
					
				}*/
				
		/*
		 * 소독결과대기 조회 요청 
		 * */
		}else if("REQ014".equals(paramTarget)){
			

	
			requestMap.put("targetPage",targetPage);  /*페이지 target*/
			requestMap.put("rowPerPage", rowPerPage); /*row 수*/
			

			//try{
				List<Map<String, String>> list = mobileService.selectReq014Query(requestMap);
				
				result="RES014"; /*검역신청목록 수신*/
				
				map.put("result", list.size());
				
				long totalRows = 0;
				
				if(list.size() == 0){
					result = "데이터가 존재하지 않습니다.";
					map.put("data", result);
				}else{
					
					map.put("data", list);
					
					if(list != null && list.size() > 0 && ((EgovMap)list.get(0)).get("totalRows") != null) {
						totalRows = Long.parseLong(((EgovMap)list.get(0)).get("totalRows").toString());
					}
					
				}
			/*}catch(Exception e){
				e.printStackTrace();
				map.put("data", "시스템 오류입니다.");
				map.put("result", 0);
			}finally {
				
			}*/
			
			/*
			 * 소독결과현황 조회 요청 
			 * */
			}else if("REQ016".equals(paramTarget)){
				
				requestMap.put("targetPage",targetPage);  /*페이지 target*/
				requestMap.put("rowPerPage", rowPerPage); /*row 수*/

				//try{
					List<Map<String, String>> list = mobileService.selectReq016Query(requestMap);
					
					result="RES016"; /*소독결과현황 수신*/
					
					map.put("result", list.size());
					
					long totalRows = 0;
					
					if(list.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data", result);
					}else{
						
						map.put("data", list);
						
						if(list != null && list.size() > 0 && ((EgovMap)list.get(0)).get("totalRows") != null) {
							totalRows = Long.parseLong(((EgovMap)list.get(0)).get("totalRows").toString());
						}
						
					}
				/*}catch(Exception e){
					e.printStackTrace();
					map.put("data", "시스템 오류입니다.");
					map.put("result", 0);
				}finally {
					
				}*/
				
		/*
		 *소독결과 저장 후 부르기 
		 * */
		}else if("REQ051".equals(paramTarget)){
			
			String recNo = requestMap.get("recNo") ==null ? "" : requestMap.get("recNo"); /*검역신청번호 20-14000025*/
			
			result="RES051"; /*소독대기상세 수신*/
			
			
			if("".equals(recNo ))
			{
				result = "데이터가 존재하지 않습니다.";
				map.put("data", result);
				map.put("result", 0);
			}
			
			//try{
				
				Map<String,String> dsnfMap = new HashMap<String,String>();
				
				
				setDsnfCode(map);
				
				/*소독결과저장 후 후출하는 경우*/
				dsnfMap.put("dnsfResNo", recNo);

					List<Map<String, String>> list = mobileService.selectReq040Query(dsnfMap);
					List<Map<String, String>> DetailList = mobileService.selectReq040DetailQuery(dsnfMap);
					
					if(list.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data", result);
						map.put("result", 0);
					}else{
						map.put("data", list);
						map.put("result", list.size());
					}
					/*품목정보 가져오기*/
					if(DetailList !=null ){
						map.put("items", DetailList);
						map.put("itemsResult", DetailList.size());
						
					}else{
						map.put("items", result);
						map.put("itemsResult",0);
					}
				
			/*}catch(Exception e){
				e.printStackTrace();
				map.put("data", "시스템 오류입니다.");
				map.put("result", 0);
			}finally {
				
			}	*/	
	     
		/*
		 *소독대기상세조회 
		 * */
		}else if("REQ017".equals(paramTarget)){
			
			String planSn = requestMap.get("planSn") ==null ? "" : requestMap.get("planSn"); /*일일투약계획서번호123333*/
			String recNo = requestMap.get("recNo") ==null ? "" : requestMap.get("recNo"); /*검역신청번호 20-14000025*/
			
			result="RES017"; /*소독대기상세 수신*/
			
			System.out.println("==== START ====");
			
			System.out.println("planSn :"+planSn); /*소독계획서 번호*/
			
			System.out.println("recNo :"+recNo); /*소독계획서 번호*/
			
			//try{
			
					Map<String,String> dsnfMap = new HashMap<String,String>();
					
					
					setDsnfCode(map);
					
					
					
					/*소독결과저장 후 후출하는 경우*/
					if(!"".equals(planSn) && !"".equals(recNo))
					{
						
						dsnfMap.put("dnsfResNo", recNo);
						
						List<Map<String, String>> list = mobileService.selectReq040Query(dsnfMap);
						List<Map<String, String>> DetailList = mobileService.selectReq040DetailQuery(dsnfMap);
						
						if(list.size() == 0){
							result = "데이터가 존재하지 않습니다.";
							map.put("data", result);
							map.put("result", 0);
						}else{
							map.put("data", list);
							map.put("result", list.size());
						}
						/*품목정보 가져오기*/
						if(DetailList !=null ){
							map.put("items", DetailList);
							map.put("itemsResult", DetailList.size());
							
						}else{
							map.put("items", result);
							map.put("itemsResult",0);
						}
						
					/*소독대기조회에서 호출하는 경우*/
					}else if(!"".equals(planSn) && "".equals(recNo)){
				
						dsnfMap.put("planSn", planSn);
						List<Map<String, String>> list = mobileService.selectReq041Query(dsnfMap);
						List<Map<String, String>> DetailList = mobileService.selectReq041DetailQuery(dsnfMap);
						
						if(list.size() == 0){
							result = "데이터가 존재하지 않습니다.";
							map.put("data", result);
							map.put("result", 0);
						}else{
							map.put("data", list);
							map.put("result", list.size());
						}
						/*품목정보 가져오기*/
						if(DetailList !=null ){
							map.put("items", DetailList);
							map.put("itemsResult", DetailList.size());
							
						}else{
							map.put("items", result);
							map.put("itemsResult",0);
						}
						
				    /*검역신청번호로 조회하는 경우*/
					}else if("".equals(planSn) && !"".equals(recNo)){
						
						dsnfMap.put("recNo", recNo);
						
						List<Map<String, String>> list = mobileService.selectReq017Query(dsnfMap);
						
						System.out.println("list :"+list.size()); /*소독계획서 번호*/
						
						
						List<Map<String, String>> DetailList = mobileService.selectReq017DetailQuery(dsnfMap);
						
						Map<String,String> dsnfMasterMap = new HashMap<String, String>();
						
						if(list.size() == 0){
							result = "방제시스템의 일일투약계획서가 등록되지 않은 검역신청 건입니다. 소독결과를 등록 할 수 없습니다.";
							map.put("data", result);
							map.put("result", 0);
						}else{
							map.put("data", list);
							map.put("result", list.size());
						}
						/*품목정보 가져오기*/
						if(DetailList !=null ){
							map.put("items", DetailList);
							map.put("itemsResult", DetailList.size());
							
						}else{
							map.put("items", result);
							map.put("itemsResult",0);
						}
						/*
						if(DetailList !=null ){
							
							
							if(DetailList.size() > 0 ){
	
								String newYmd = "";
								newYmd = getYmd(0, 0, 0); 
								
								dsnfMasterMap.put("offCd", recNo.substring(0,2));
								dsnfMasterMap.put("recNo", recNo.substring(3,11));
								dsnfMasterMap.put("planSn", "");
								dsnfMasterMap.put("entrpsUnitySn", "");
								dsnfMasterMap.put("cprNm", "");
								dsnfMasterMap.put("empNm", "");
								dsnfMasterMap.put("telNo", "");
								dsnfMasterMap.put("dsnfInspctPlace", "");
								dsnfMasterMap.put("mdctDe", newYmd);
								dsnfMasterMap.put("mdctHh", "00");
								dsnfMasterMap.put("mdctMi", "00");
								dsnfMasterMap.put("opnDe", newYmd);
								dsnfMasterMap.put("opnHh", "00");
								dsnfMasterMap.put("opnMi", "00");
								dsnfMasterMap.put("antMin", "");
								dsnfMasterMap.put("antMetCd", "");
								dsnfMasterMap.put("equKind", "");
								dsnfMasterMap.put("medQty", "0");
								dsnfMasterMap.put("antMet", "");
								dsnfMasterMap.put("fumQty", "");
								dsnfMasterMap.put("rotDiv", "N");
								dsnfMasterMap.put("rooTemp", "");
								dsnfMasterMap.put("medNamCd1", "");
								dsnfMasterMap.put("medNamCd2", "");
								dsnfMasterMap.put("medNamNm1", "");
								dsnfMasterMap.put("medNamNm2", "");
								dsnfMasterMap.put("opeNamCd1", "");
								dsnfMasterMap.put("opeNamCd2", "");
								dsnfMasterMap.put("opeNamNm1", "");
								dsnfMasterMap.put("opeNamNm2", "");
								list.add(dsnfMasterMap);
								map.put("data", list);
								map.put("result", list.size());
							}else{
								result = "데이터가 존재하지 않습니다.";
								map.put("data", result);
								map.put("result", 0);
							}
						}
						*/
						
					}
			
				/*}catch(Exception e){
					e.printStackTrace();
					map.put("data", "시스템 오류입니다.");
					map.put("result", 0);
				}finally {
					
				}*/
			//}
			
			
		/*
		 *소독대기검색 요청
		 * */
		}else if("REQ018".equals(paramTarget)){
			
			requestMap.put("targetPage",targetPage);  /*페이지 target*/
			requestMap.put("rowPerPage", rowPerPage); /*row 수*/
			

			//try{
				List<Map<String, String>> list = mobileService.selectReq014Query(requestMap);
				
				result="RES018"; /*검역신청목록 수신*/
				
				map.put("result", list.size());
				
				long totalRows = 0;
				
				if(list.size() == 0){
					result = "데이터가 존재하지 않습니다.";
					map.put("data", result);
				}else{
					
					map.put("data", list);
					
					if(list != null && list.size() > 0 && ((EgovMap)list.get(0)).get("totalRows") != null) {
						totalRows = Long.parseLong(((EgovMap)list.get(0)).get("totalRows").toString());
					}
					
				}
			/*}catch(Exception e){
				e.printStackTrace();
				map.put("data", "시스템 오류입니다.");
				map.put("result", 0);
			}finally {
				
			}*/
		
			/*
			 * 검역결과품목검색  요청
			 * */
			}else if("REQ019".equals(paramTarget)){
				
				//try{
					List<Map<String, String>> list = mobileService.selectReq019Query(requestMap);
					
					result="RES019"; /*검역결과품목검색 수신*/
					
					if(list.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data", result);
						map.put("result", 0);
					}else{
						map.put("data", list);
						map.put("result", list.size());
					}
					
				/*}catch(Exception e){
					e.printStackTrace();
					map.put("data", "시스템 오류입니다.");
					map.put("result", 0);
				}finally {
					
				}*/
				
			/*
			 * 검역결과품목상세조회 요청
			 * */
			}else if("REQ020".equals(paramTarget)){
				
				
				
				//try{
					List<Map<String, String>> list1 = mobileService.selectReq020Query(requestMap);
					List<Map<String, String>> list2 = mobileService.selectReq020DetailQuery(requestMap);
					List<Map<String, String>> list3 = mobileService.selectReq020LabQuery(requestMap);
					List<Map<String, String>> list4 = mobileService.selectReq020DbyhsQuery(requestMap);
					List<Map<String, String>> list5 = mobileService.selectReq020DsnfQuery(requestMap);
					List<Map<String, String>> list6 = mobileService.selectReq020DsuseQuery(requestMap);
					List<Map<String, String>> list7 = mobileService.selectReq020ItemQuery(requestMap);
					
					result="RES020"; /*검역결과품목상세조회 수신*/
					
					if(list1.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data1", result);
						map.put("result1", 0);
					}else{
						map.put("data1", list1);
						map.put("result1", list1.size());
					}
					if(list2.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data2", result);
						map.put("result2", 0);
					}else{
						map.put("data2", list2);
						map.put("result2", list2.size());
					}
					if(list3.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data3", result);
						map.put("result3", 0);
					}else{
						map.put("data3", list3);
						map.put("result3", list3.size());
					}
					
					if(list4.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data4", result);
						map.put("result4", 0);
					}else{
						map.put("data4", list4);
						map.put("result4", list4.size());
					}
					if(list5.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data5", result);
						map.put("result5", 0);
					}else{
						map.put("data5", list5);
						map.put("result5", list5.size());
					}
					if(list6.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data6", result);
						map.put("result6", 0);
					}else{
						map.put("data6", list6);
						map.put("result6", list6.size());
					}
					if(list7.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data7", result);
						map.put("result7", 0);
					}else{
						map.put("data7", list7);
						map.put("result7", list7.size());
					}
					
				/*}catch(Exception e){
					e.printStackTrace();
					map.put("data", "시스템 오류입니다.");
					map.put("result", 0);
				}finally {
					
				}*/
			
			/*
			 * 소독계획서조회 
			 * */
			}else if("REQ022".equals(paramTarget)){
				
				String searchOffCd = requestMap.get("searchOffCd");
				String searchRecNo = requestMap.get("searchRecNo");
				
				result="RES022"; /*검역신청정보 수신*/
				
				if(searchOffCd==null || "".equals(searchOffCd)){
					
					result = "데이터가 존재하지 않습니다.";
					map.put("result", 0);
					map.put("data", result);
					
				}else if(searchRecNo==null || "".equals(searchRecNo)){
					
					result = "데이터가 존재하지 않습니다.";
					map.put("result", 0);
					map.put("data", result);
					
				}else{			
				
					//try{

						
						List<Map<String, String>> list = mobileService.selectReq022Query(requestMap);
						
						if(list.size() == 0){
							result = "데이터가 존재하지 않습니다.";
							map.put("data", result);
							map.put("result", 0);
						}else{
							map.put("data", list);
							map.put("result", list.size());
						}
						
					/*}catch(Exception e){
						e.printStackTrace();
						map.put("data", "시스템 오류입니다.");
						map.put("result", 0);
					}finally {
						
					}*/
				}
				
			/*
			 * 소독동의서조회
			 * */
			}else if("REQ023".equals(paramTarget)){
					
				String searchOffCd = requestMap.get("searchOffCd");
				String searchRecNo = requestMap.get("searchRecNo");
				
				result="RES023"; /*소독동의서조회 수신*/
				
				if(searchOffCd==null || "".equals(searchOffCd)){
					
					result = "데이터가 존재하지 않습니다.";
					map.put("result", 0);
					map.put("data", result);
					
				}else if(searchRecNo==null || "".equals(searchRecNo)){
					
					result = "데이터가 존재하지 않습니다.";
					map.put("result", 0);
					map.put("data", result);
					
				}else{			
				
					//try{

						
						List<Map<String, String>> list = mobileService.selectReq023Query(requestMap);
						
						if(list.size() == 0){
							result = "데이터가 존재하지 않습니다.";
							map.put("data", result);
							map.put("result", 0);
						}else{
							map.put("data", list);
							map.put("result", list.size());
						}
						
					/*}catch(Exception e){
						e.printStackTrace();
						map.put("data", "시스템 오류입니다.");
						map.put("result", 0);
					}finally {
						
					}*/
				}
			}else if("REQ024".equals(paramTarget)){
					
				String searchOffCd = requestMap.get("searchOffCd");
				String searchRecNo = requestMap.get("searchRecNo");
				
				/* 테스트 데이터 나중에 지우세요~~~~~~~
				 * 
				 * 
				if(searchRecNo.equals("14011285")){
					searchRecNo= "14011233";
				}*/
				
				result="RES024"; /*소독동의서조회 수신*/
				
				if(searchOffCd==null || "".equals(searchOffCd)){
					
					result = "데이터가 존재하지 않습니다.";
					map.put("result", 0);
					map.put("data", result);
					
				}else if(searchRecNo==null || "".equals(searchRecNo)){
					
					result = "데이터가 존재하지 않습니다.";
					map.put("result", 0);
					map.put("data", result);
					
				}else{			
				
//					try{

						
						List<Map<String, String>> list = mobileService.selectReq024Query(requestMap);
						List<Map<String, String>> DetailList = mobileService.selectReq024DetailQuery(requestMap);
						
						if(list.size() == 0){
							result = "데이터가 존재하지 않습니다.";
							map.put("data", result);
							map.put("result", 0);
						}else{
							map.put("data", list);
							map.put("result", list.size());
						}
						
						/*품목정보 가져오기*/
						if(DetailList !=null ){
							map.put("items", DetailList);
							map.put("itemsResult", DetailList.size());
							
						}else{
							map.put("items", result);
							map.put("itemsResult",0);
						}
					/*	
					}catch(Exception e){
						e.printStackTrace();
						map.put("data", "시스템 오류입니다.");
						map.put("result", 0);
					}finally {
						
					}*/
				}
					
		
			/*
			 * 기안예문조회 요청
			 * */
		}else if("REQ025".equals(paramTarget)){
				
			//try{
				
				String searchBodySe = requestMap.get("searchBodySe");
				
				/*
				if(null==searchBodySe || "".equals(searchBodySe))
				{
					searchBodySe ="406001"; /*현장검역 선택
				}*/
				
				List<Map<String, String>> list = mobileService.selectReq025Query(requestMap);
				
				/*단위코드 및 단위명가져오기*/
				List<Map<String, String>> bodySeList = commonList("6","406");
				map.put("bodySeList", bodySeList); /*수량단위*/
				
				
				result="RES025"; /*기안예문조회 수신*/
				
				map.put("result", list.size());
				
				if(list.size() == 0){
					result = "데이터가 존재하지 않습니다.";
					map.put("data", result);
				}else{
					map.put("data", list);
				}
			/*}catch(Exception e){
				e.printStackTrace();
				map.put("data", "시스템 오류입니다.");
				map.put("result", 0);
			}finally {
				
			}*/
			
		/*
		 * 업체검색  요청
		 * */
		}else if("REQ026".equals(paramTarget)){
			
			//requestMap.put("targetPage",targetPage);  /*페이지 target*/
			//requestMap.put("rowPerPage", rowPerPage); /*row 수*/
			
			//try{
				List<Map<String, String>> list = mobileService.selectReq026Query(requestMap);
				
				result="RES026"; /*업체검색요청 수신*/
				
				map.put("result", list.size());
				
				long totalRows = 0;
				
				if(list.size() == 0){
					result = "데이터가 존재하지 않습니다.";
					map.put("data", result);
				}else{
					
					map.put("data", list);
					
					//if(list != null && list.size() > 0 && ((EgovMap)list.get(0)).get("totalRows") != null) {
					//	totalRows = Long.parseLong(((EgovMap)list.get(0)).get("totalRows").toString());
					//}
					
				}
			/*}catch(Exception e){
				e.printStackTrace();
				map.put("data", "시스템 오류입니다.");
				map.put("result", 0);
			}finally {
				
			}*/
			
		/*
		 * 수입금지, 긴급제한  요청
		 * */
		}else if("REQ027".equals(paramTarget)){
			
			//try{
				List<Map<String, String>> list = mobileService.selectReq027Query(requestMap);
				
				result="RES027"; /*업체검색요청 수신*/
				
				if(list.size() == 0){
					result = "데이터가 존재하지 않습니다.";
					map.put("data", result);
					map.put("result", 0);
				}else{
					map.put("data", list);
					map.put("result", list.size());
				}
				
			/*}catch(Exception e){
				e.printStackTrace();
				map.put("data", "시스템 오류입니다.");
				map.put("result", 0);
			}finally {
				
			}*/
		
		/*
		 * 검역결과상세현황 요청
		 * */
		}else if("REQ029".equals(paramTarget)){
			
			String searchOffCd = requestMap.get("searchOffCd"); /*검역신청지코드*/
			String searchRecNo = requestMap.get("searchRecNo"); /*검역신청번호*/
			
			result="RES029"; /*검역신청정보 수신*/
			
			if(searchOffCd==null || "".equals(searchOffCd)){
				
				result = "데이터가 존재하지 않습니다.";
				map.put("result", 0);
				map.put("data", result);
				
			}else if(searchRecNo==null || "".equals(searchRecNo)){
				
				result = "데이터가 존재하지 않습니다.";
				map.put("result", 0);
				map.put("data", result);
				
			}else{
				
				//try{
					
					List<Map<String, String>> list = mobileService.selectReq029Query(requestMap);
					List<Map<String, String>> detailList = mobileService.selectReq029DetailQuery(requestMap);
					List<Map<String, String>> quranList = mobileService.selectReq029QuranQuery(requestMap);
					

					if(list.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data", result);
						map.put("result", 0);
					}else{
						map.put("data", list);
						map.put("result", list.size());
					}
					
					/*품목정보 가져오기*/
					if(detailList !=null ){
						map.put("items", detailList);
						map.put("itemsResult", detailList.size());
						
					}else{
						map.put("items", result);
						map.put("itemsResult",0);
					}
					
					/*현장검역관*/
					if(quranList !=null ){
						map.put("quranList", quranList);
					}
					
				/*}catch(Exception e){
					e.printStackTrace();
					map.put("data", "시스템 오류입니다.");
					map.put("result", 0);
				}finally {
					
				}*/
			
			}
		/*
		 * 업체검색  요청
		 * */
		}else if("REQ030".equals(paramTarget)){
			
			requestMap.put("targetPage",targetPage);  /*페이지 target*/
			requestMap.put("rowPerPage", rowPerPage); /*row 수*/
			
			//try{
				List<Map<String, String>> list = mobileService.selectReq030Query(requestMap);
				
				result="RES030"; /*업체검색요청 수신*/
				
				map.put("result", list.size());
				
				long totalRows = 0;
				
				if(list.size() == 0){
					result = "데이터가 존재하지 않습니다.";
					map.put("data", result);
				}else{
					
					map.put("data", list);
					
					if(list != null && list.size() > 0 && ((EgovMap)list.get(0)).get("totalRows") != null) {
						totalRows = Long.parseLong(((EgovMap)list.get(0)).get("totalRows").toString());
					}
					
				}
			/*}catch(Exception e){
				e.printStackTrace();
				map.put("data", "시스템 오류입니다.");
				map.put("result", 0);
			}finally {
				
			}*/
		
		/*
		 * 소독결과현황검색  요청
		 * */
		}else if("REQ031".equals(paramTarget)){
			
			requestMap.put("targetPage",targetPage);  /*페이지 target*/
			requestMap.put("rowPerPage", rowPerPage); /*row 수*/
			
			//try{
				List<Map<String, String>> list = mobileService.selectReq016Query(requestMap);
				
				result="RES031"; /*소독결과현황검색 수신*/
				
				map.put("result", list.size());
				
				long totalRows = 0;
				
				if(list.size() == 0){
					result = "데이터가 존재하지 않습니다.";
					map.put("data", result);
				}else{
					
					map.put("data", list);
					
					if(list != null && list.size() > 0 && ((EgovMap)list.get(0)).get("totalRows") != null) {
						totalRows = Long.parseLong(((EgovMap)list.get(0)).get("totalRows").toString());
					}
					
				}
			/*}catch(Exception e){
				e.printStackTrace();
				map.put("data", "시스템 오류입니다.");
				map.put("result", 0);
			}finally {
				
			}*/
		/*
		 * 품목검색  요청
		 * */
		}else if("REQ032".equals(paramTarget)){
			
			//requestMap.put("targetPage",targetPage);  /*페이지 target*/
			//requestMap.put("rowPerPage", rowPerPage); /*row 수*/
			long totalRows = 0;
			
			//try{
				List<Map<String, String>> list = mobileService.selectReq032Query(requestMap);
				
				result="RES032"; /*품목검색 수신*/
				
				map.put("result", list.size());

				if(list.size() == 0){
					result = "데이터가 존재하지 않습니다.";
					map.put("data", result);
				}else{
					
					map.put("data", list);
					
					if(list != null && list.size() > 0 && ((EgovMap)list.get(0)).get("totalRows") != null) {
						totalRows = Long.parseLong(((EgovMap)list.get(0)).get("totalRows").toString());
					}
					
				}
			/*}catch(Exception e){
				e.printStackTrace();
				map.put("data", "시스템 오류입니다.");
				map.put("result", 0);
			}finally {
				
			}*/
			
		/*
		 * 소독결과현황상세 요청 
		 * */
		}else if("REQ034".equals(paramTarget)){
			
			String dsnfResOffCd = requestMap.get("dsnfResOffCd") ==null? "" : requestMap.get("dsnfResOffCd");
			String dsnfResNo = requestMap.get("dsnfResNo") ==null? "" : requestMap.get("dsnfResNo") ;
			
			String offCd = requestMap.get("offCd") ==null? "" : requestMap.get("offCd") ;
			String recNo = requestMap.get("recNo") ==null? "" : requestMap.get("recNo") ;
			
			
			result="RES034"; /*검역신청정보 수신*/
			
			String fullDsnfRecNo = dsnfResOffCd + dsnfResNo;
			String fullRecNo = offCd + recNo;
			
			if("".equals(fullDsnfRecNo) && "".equals(fullRecNo))
			{
				result = "데이터가 존재하지 않습니다.";
				map.put("result", 0);
				map.put("data", result);
			}else{			
			
				//try{

					
					List<Map<String, String>> list = mobileService.selectReq034Query(requestMap);
					List<Map<String, String>> Detaillist = mobileService.selectReq034DetailQuery(requestMap);
					
					setCode(map);
					

					if(list.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data", result);
						map.put("result", 0);
					}else{
						map.put("data", list);
						map.put("result", list.size());
					}
					
					/*품목정보 가져오기*/
					if(Detaillist !=null ){
						map.put("items", Detaillist);
						map.put("itemsResult", Detaillist.size());
						
					}else{
						map.put("items", result);
						map.put("itemsResult",0);
					}
				/*}catch(Exception e){
					e.printStackTrace();
					map.put("data", "시스템 오류입니다.");
					map.put("result", 0);
				}finally {
					
				}*/
			}
			
		/*
		 * 검역결과일괄등록 화면 요청 
		 * */
		}else if("REQ036".equals(paramTarget)){
			
			System.out.println("paramTarget  :::::"+paramTarget);
			
			String searchRecNoList = requestMap.get("searchRecNoList");
			
			result="RES036"; /*검역결과일괄등록 수신*/
			
			if(searchRecNoList==null || "".equals(searchRecNoList)){
				
				result = "데이터가 존재하지 않습니다.";
				map.put("result", 0);
				map.put("data", result);
				
			}else{			
			
				//try{

					
					List<Map<String, String>> list = mobileService.selectReq036Query(requestMap);
					List<Map<String, String>> DetailList = mobileService.selectReq036DetailQuery(requestMap);
					List<Map<String, String>> quranList = mobileService.selectReq036QuranQuery(requestMap);
					
					setResultCode(map);
					

					if(list.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data", result);
						map.put("result", 0);
					}else{
						map.put("data", list);
						map.put("result", list.size());
					}
					
					/*품목정보 가져오기*/
					if(DetailList.size() > 0 ){
						map.put("items", DetailList);
						map.put("itemsResult", DetailList.size());
						
					}else{
						map.put("items", DetailList);
						map.put("itemsResult",0);
					}
					/*gu 가져오기*/
					if(null != quranList && quranList.size() > 0  ){
						
						//System.out.println("quranList   is not null :::"+quranList.size());
						map.put("quran", quranList);
						map.put("quranResult", quranList.size());
						
					}else{
						//System.out.println("quranList   is null");
						map.put("quran", quranList);
						map.put("quranResult",0);
					}
					/*
				}catch(Exception e){
					e.printStackTrace();
					map.put("data", "시스템 오류입니다.");
					map.put("result", 0);
				}finally {
					
					
				}*/
			}
			
			/*
			 * 수출검역대기조회  요청
			 * */
			}else if("REQ042".equals(paramTarget)){
				
				requestMap.put("targetPage",targetPage);  /*페이지 target*/
				requestMap.put("rowPerPage", rowPerPage); /*row 수*/
				
				//try{
					List<Map<String, String>> list = mobileService.selectReq042Query(requestMap);
					
					result="RES042"; /*소독결과현황검색 수신*/
					
					map.put("result", list.size());
					
					long totalRows = 0;
					
					if(list.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data", result);
					}else{
						
						map.put("data", list);
						
						if(list != null && list.size() > 0 && ((EgovMap)list.get(0)).get("totalRows") != null) {
							totalRows = Long.parseLong(((EgovMap)list.get(0)).get("totalRows").toString());
						}
						
					}
					/*
				}catch(Exception e){
					e.printStackTrace();
					map.put("data", "시스템 오류입니다.");
					map.put("result", 0);
				}finally {
					
				}
				*/
	
		/* 
		 * 검역결과상세정보 요청
		 * */
		}else if("REQ043".equals(paramTarget)){
			
			String searchOffCd = requestMap.get("searchOffCd"); /*검역신청지코드*/
			String searchRecNo = requestMap.get("searchRecNo"); /*검역신청번호*/
			
			result="RES043"; /*검역결과상세조회 수신*/
			
			if(searchOffCd==null || "".equals(searchOffCd)){
				
				result = "데이터가 존재하지 않습니다.";
				map.put("result", 0);
				map.put("data", result);
				
			}else if(searchRecNo==null || "".equals(searchRecNo)){
				
				result = "데이터가 존재하지 않습니다.";
				map.put("result", 0);
				map.put("data", result);
				
			}else{			
			

					
					List<Map<String, String>> list = mobileService.selectReq010Query(requestMap);
					List<Map<String, String>> DetailList = mobileService.selectReq043DetailQuery(requestMap);
					
					setExpResultCode(map);
					

					if(list.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("data", result);
						map.put("result", 0);
					}else{
						map.put("data", list);
						map.put("result", list.size());
					}
					
					/*품목정보 가져오기*/
					if(DetailList !=null ){
						map.put("items", DetailList);
						map.put("itemsResult", DetailList.size());
						
					}else{
						map.put("items", result);
						map.put("itemsResult",0);
					}
			}
		 
		/*
		 * 부기사항  요청
		 * */
		}else if("REQ044".equals(paramTarget)){
			
			requestMap.put("targetPage",targetPage);  /*페이지 target*/
			requestMap.put("rowPerPage", rowPerPage); /*row 수*/
			
				List<Map<String, String>> list = mobileService.selectReq044Query(requestMap);
				
				result="RES044"; /*부기사항 수신*/
				
				map.put("result", list.size());
				
				long totalRows = 0;
				
				if(list.size() == 0){
					result = "데이터가 존재하지 않습니다.";
					map.put("data", result);
				}else{
					
					map.put("data", list);
					
					if(list != null && list.size() > 0 && ((EgovMap)list.get(0)).get("totalRows") != null) {
						totalRows = Long.parseLong(((EgovMap)list.get(0)).get("totalRows").toString());
					}
					
				}
		
		
		
		/*
		 * 수출단지 선과장 년도가져오기  요청
		 * */
		}else if("REQ046".equals(paramTarget)){
			
			requestMap.put("targetPage",targetPage);  /*페이지 target*/
			requestMap.put("rowPerPage", rowPerPage); /*row 수*/
			

				
				List<Map<String, String>> yearList =  selectExportYearList();
				
				List<Map<String, String>> list = mobileService.selectReq046Query(requestMap);
				
				result="RES046"; /*부기사항 수신*/
				
				map.put("result", list.size());
				
				
				
				long totalRows = 0;
				
				if(list.size() == 0){
					result = "데이터가 존재하지 않습니다.";
					map.put("data", result);
				}else{
					
					map.put("data", list);
					
					/*품목정보 가져오기*/
					if(yearList.size() == 0){
						result = "데이터가 존재하지 않습니다.";
						map.put("yearList", result);
						map.put("yearListCnt", 0);
					}else{
						map.put("yearList", yearList);
						map.put("yearListCnt", yearList.size());
					}

					if(list != null && list.size() > 0 && ((EgovMap)list.get(0)).get("totalRows") != null) {
						totalRows = Long.parseLong(((EgovMap)list.get(0)).get("totalRows").toString());
					}
					
				}
				
				
				/*사진첨부만 보내는 메세지*/
	 	    }else if("REQ052".equals(paramTarget)){
	 	    	
	 	    	String resultSuccss = "검역결과등록이 정상처리되었습니다."; /*성공*/
				String resultFail = "검역결과저장 시 실패하였습니다."; /*실패*/
				
				 mobileService.insertFileReq052Query(request);
				 map.put("data", resultSuccss);
				 map.put("result", 1);
	 	    	
	 	    	
			}else{	
				
				
				Enumeration eNames1 = request.getParameterNames();

				if (eNames1.hasMoreElements()) {

					 String title = "Parameters";

					 Map entries = new TreeMap();

					 while (eNames1.hasMoreElements()) {

						 String name = (String) eNames1.nextElement();

						 String[] values = request.getParameterValues(name);

						 if (values.length > 0) {

							 String value = values[0];

							 for (int i = 1; i < values.length; i++) {

								 value += "," + values[i];

							 }
							 
							 System.out.println("###############################################==>");
							 System.out.println(name+" : "+value);
							 System.out.println("###############################################==>");

						 }

					 }

				}
				
				map.put("result", 0);
				//System.out.println("paramTarget==start>");
				paramTarget = request.getParameter("paramTarget");
				//System.out.println("paramTarget==>"+paramTarget);
				map.put("data", "서버에서 온 44 시스템 오류 입니다.paramTarget:"+paramTarget);
				
				
				System.out.println("paramTarget==>"+paramTarget);
			}
			
		
		}catch(Exception e){
			e.printStackTrace();
			map.put("data", "시스템 오류입니다.");
			map.put("result", 0);
		}finally {
			
		}
		
	   return JSONResponseUtil.getJSONResponse(map);
	   
	   
	}
	
	
	/*
	 * 공통코드 값 가져오기
	 * */
	public List<Map<String, String>> commonList(String searchJobSn,String searchCodeCl) throws Exception{
		
		Map<String,String> commonCdMap = new HashMap<String,String>();
		commonCdMap.put("searchJobSn", searchJobSn); /*시스템코드*/
		commonCdMap.put("searchCodeCl", searchCodeCl); /*대분류코드*/
		
		List<Map<String, String>> commonList = mobileService.selectCommonCode(commonCdMap); /*수량단위*/
		
		return commonList;
	}
	
	/*
	 * 처리과 값 가져오기
	 * */
	public List<Map<String, String>> selectSanctnList(String searchOffGb) throws Exception{
		
		Map<String,String> commonCdMap = new HashMap<String,String>();
		commonCdMap.put("searchOffGb", searchOffGb); /*시스템코드*/
		List<Map<String, String>> commonList = mobileService.selectCommonCode(commonCdMap); /*수량단위*/
		return commonList;
	}
	
	/*
	 * 수출단지 선과장 년도 값 가져오기
	 * */
	public List<Map<String, String>> selectExportYearList() throws Exception{
		
		List<Map<String, String>> commonList = mobileService.selectExportYearList(); /*선과장년도 가져오기*/
		return commonList;
	}
	
	
	/*
	 * 
	 * 
	 * */
	public void setCode(Map<String,Object> map){
		
		try {
			
			/*단위코드 및 단위명가져오기*/
			List<Map<String, String>> qunCdList = commonList("14","117");
			map.put("qunCdList", qunCdList); /*수량단위*/
			
		}catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} //수출입구분
		
	}
	
	
	protected String getYmd( int year , int month , int date){
		Calendar c = Calendar.getInstance();
		c.add(Calendar.DATE, date);
		c.add(Calendar.MONTH, month);
		c.add(Calendar.YEAR, year);
		int m = c.get(Calendar.MONTH)+1;
		if( m == 0) m=12;
		return c.get(Calendar.YEAR)
			+ "-"
			+ ( String.valueOf(m).length() < 2 ? "0"+m : String.valueOf(m))
			+ "-" 
			+ ( String.valueOf(c.get(Calendar.DATE)).length() < 2 ? "0"+c.get(Calendar.DATE) : String.valueOf(c.get(Calendar.DATE)));
	}
	
	/*
	 * 기타사항코드
	 * 
	 * */
	public void setDrafCode(Map<String,Object> map){
		
		try {
			
			/*recTimeList*/
			
			List<Map<String, String>> drafRemList = commonList("6","417");
	
			map.put("drafRemList", drafRemList); /*기타사항코드*/
			
		}catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} //수출입구분
		
	}
	
	/*
	 * 검역결과 공통코드
	 * 
	 * */
	public void setResultCode(Map<String,Object> map){
		
		try {
			
			/*단위코드 및 단위명가져오기*/
			List<Map<String, String>> qunCdList = commonList("14","117");
			map.put("qunCdList", qunCdList); /*수량단위*/
			/*검역구분*/
			List<Map<String, String>> validflagList = commonList("6","338");
			map.put("validflagList", validflagList); /*검역구분*/
						
			/*합격보류사유*/
			List<Map<String, String>> delaysayuList = commonList("6","342");
			map.put("delaysayuList", delaysayuList); /*수출입구분*/
			
			/*검역결과코드*/
			List<Map<String, String>> resultFlagList =  new ArrayList<Map<String, String>>(); 
			
			
			
			Map<String,String> resultMap = null;
			
			
			for(int i = 0; i<3; i++){
				
				resultMap = new HashMap<String,String>();
				
				if(i==0){
					resultMap.put("code","226001");
					resultMap.put("codeNm","합격");
					resultFlagList.add(resultMap);
				}else if(i==1){
					resultMap.put("code","226002");
					resultMap.put("codeNm","불합격");
					
					resultFlagList.add(resultMap);
				}else{
					resultMap.put("code","");
					resultMap.put("codeNm","보류");
					
					resultFlagList.add(resultMap);
				}
			}
			
			map.put("resultFlagList", resultFlagList); /*검역결과값*/
			
			/*typeList*/
			List<Map<String, String>> typeList = commonList("6","416");
			map.put("typeList", typeList); /*수출입구분*/
			
		}catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} //수출입구분
		
	}
	
	/*
	 * 검역결과 공통코드
	 * 
	 * */
	public void setExpResultCode(Map<String,Object> map){
		
		try {
			
			/*단위코드 및 단위명가져오기*/
			List<Map<String, String>> qunCdList = commonList("14","117");
			map.put("qunCdList", qunCdList); /*수량단위*/
			/*검역구분*/
			List<Map<String, String>> validflagList = commonList("6","338");
			map.put("validflagList", validflagList); /*검역구분*/
						
			/*합격보류사유*/
			List<Map<String, String>> delaysayuList = commonList("6","342");
			map.put("delaysayuList", delaysayuList); /*수출입구분*/
			
			
			/*LMO결과 리스트*/
			List<Map<String, String>> lmoList = commonList("14","198");
			map.put("lmoList", lmoList); /*수출입구분*/
			
			/*검역결과코드*/
			List<Map<String, String>> resultFlagList =  new ArrayList<Map<String, String>>(); 
			
			Map<String,String> resultMap = null;
			
			
			for(int i = 0; i<3; i++){
				
				resultMap = new HashMap<String,String>();
				
				if(i==0){
					resultMap.put("code","226001");
					resultMap.put("codeNm","합격");
					resultFlagList.add(resultMap);
				}else if(i==1){
					resultMap.put("code","226002");
					resultMap.put("codeNm","불합격");
					
					resultFlagList.add(resultMap);
				}else{
					resultMap.put("code","");
					resultMap.put("codeNm","보류");
					
					resultFlagList.add(resultMap);
				}
			}
			
			map.put("resultFlagList", resultFlagList); /*검역결과값*/
			
			
		}catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} //수출입구분
		
	}
	
	
	/*
	 * 소독결과 공통코드
	 * 
	 * */
	public void setDsnfCode(Map<String,Object> map){
		
		try {
			
			/*소독방법리스트*/
			List<Map<String, String>> antMetCdList = commonList("6","324");
			map.put("antMetCdList", antMetCdList); /*소독방법리스트*/
			/*시설종류리스트*/
			List<Map<String, String>> equKindList = commonList("6","359");
			map.put("equKindList", equKindList); /*시설종류리스트*/
						
			/*합격보류사유*/
			List<Map<String, String>> medCdList = commonList("6","350");
			map.put("medCdList", medCdList); /*수출입구분*/
						
		}catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} //수출입구분
		
	}
	
}
